package com.aiflow.util;

import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.text.DecimalFormat;
import java.util.ArrayList;
import java.util.List;

import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;

import com.aiflow.db.ConnDB;

public class ReadExcel {

	/**
     * 读取xls文件内容
     * 
     * @return List<PersonConfig>对象
     * @throws IOException
     *             输入/输出(i/o)异常
     */
//    public List<PersonConfig> readXls(String path) throws IOException {
//        InputStream is = new FileInputStream(path);
//        HSSFWorkbook hssfWorkbook = new HSSFWorkbook(is);
//        PersonConfig PersonConfig = null;
//        List<PersonConfig> list = new ArrayList<PersonConfig>();
//        // 循环工作表Sheet
//        for (int numSheet = 0; numSheet < hssfWorkbook.getNumberOfSheets(); numSheet++) {
//            HSSFSheet hssfSheet = hssfWorkbook.getSheetAt(numSheet);
//            if (hssfSheet == null) {
//                continue;
//            }
//            // 循环行Row
//            for (int rowNum = 1; rowNum <= hssfSheet.getLastRowNum(); rowNum++) {
//                HSSFRow hssfRow = hssfSheet.getRow(rowNum);
//                if (hssfRow == null) {
//                    continue;
//                }
//                PersonConfig = new PersonConfig();
//                // 循环列Cell
//                // 0派单对象 1电话 2级别 3地市 4序列号
//                // for (int cellNum = 0; cellNum <=4; cellNum++) {
//                HSSFCell xh = hssfRow.getCell(0);
//                if (xh == null) {
//                    continue;
//                }
//                PersonConfig.setUserName(getValue(xh));
//                HSSFCell xm = hssfRow.getCell(1);
//                if (xm == null) {
//                    continue;
//                }
//                PersonConfig.setTelep(getValue(xm));
//                HSSFCell yxsmc = hssfRow.getCell(2);
//                if (yxsmc == null) {
//                    continue;
//                }
//                PersonConfig.setSuperviseTarget(getValue(yxsmc));
//                HSSFCell kcm = hssfRow.getCell(3);
//                if (kcm == null) {
//                    continue;
//                }
//                PersonConfig.setRegion(getValue(kcm));
//                HSSFCell cj = hssfRow.getCell(4);
//                if (cj == null) {
//                    continue;
//                }
//                PersonConfig.setSort(getValue(cj));
//                list.add(PersonConfig);
//            }
//        }
//        return list;
//    }
    
    /**

     * 得到Excel表中的值

     * 

     * @param hssfCell

     *            Excel中的每一个格子

     * @return Excel中每一个格子中的值

     */

    @SuppressWarnings("static-access")
    private String getValue(HSSFCell hssfCell) {
        if (hssfCell.getCellType() == hssfCell.CELL_TYPE_BOOLEAN) {
            // 返回布尔类型的值
            return String.valueOf(hssfCell.getBooleanCellValue());
        } else if (hssfCell.getCellType() == hssfCell.CELL_TYPE_NUMERIC) {
            // 返回数值类型的值
        	DecimalFormat df = new DecimalFormat("0");   
        	String whatYourWant = df.format(hssfCell.getNumericCellValue()); 
        	return whatYourWant;
//            return String.valueOf(hssfCell.getNumericCellValue());
        } else {
            // 返回字符串类型的值
            return String.valueOf(hssfCell.getStringCellValue());
        }
    }
    
    public static void main(String[] args) throws IOException {
//    	ReadExcel xlsMain = new ReadExcel();
//    	PersonConfig xls = null;
//        List<PersonConfig> list = xlsMain.readXls("d:/远安代维维护班组IVR语音督办梳理表更新1114.xls");
//        for (int i = 0; i < list.size(); i++) {
//            xls = list.get(i);
//            System.out.println(xls.getUserName() + "    " + xls.getTelep() + "    "
//                    + xls.getSuperviseTarget() + "    " + xls.getRegion() + "    "
//                    + xls.getSort());
//        }
//        ConnDB db = new ConnDB();
//        db.insertPersonConfig(list);
	}
 
}
